//package com.tgpms.interfaces.dto;
//
//import com.alibaba.fastjson.JSON;
//import com.tgpms.auth.security.TokenService;
//import com.tgpms.common.Result;
//import com.tgpms.exception.ExceptionExplain;
//import com.tgpms.exception.QueryException;
//import com.tgpms.interfaces.Request.HttpClient;
//import com.tgpms.interfaces.common.CommonRequestDispose;
//import com.tgpms.interfaces.properties.Url;
//import io.netty.util.internal.StringUtil;
//import io.swagger.annotations.Api;
//import io.swagger.annotations.ApiOperation;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.http.HttpMethod;
//import org.springframework.web.bind.annotation.*;
//
//import javax.annotation.Resource;
//import javax.servlet.http.HttpServletRequest;
//import java.util.Map;
//
///**
// * @author eve
// * <p>
// * 暴露VForm封装接口
// */
//@Api(value = "testController", tags = "测试VForm")
//@RestController
//@RequestMapping(value = "/")
//public class RequestVform {
//
//    private final Logger logger = LoggerFactory.getLogger(this.getClass());
//
//    @Resource
//    private TokenService tokenService;
//
//    HttpClient httpClient=new HttpClient();
//    /**
//     * 0. 测试VForm数据
//     *
//     * @return
//     */
//    @ApiOperation(value = "测试VForm", notes = "测试VForm", httpMethod = "POST")
//    @GetMapping(value = "/test")
//    public Result test(@RequestParam(required = false) Map<String, String> params) {
//        Result result = new Result();
//        String data = new HttpClient().post(Url.TEST_PARAM, params, HttpMethod.POST);
//        Object parseObject = JSON.parseObject(data, Object.class);
//        result.setData(parseObject);
//        return result;
//    }
//
//    /**
//     * 1. VForm 第一个接口： 登陆接口
//     *
//     * @param params
//     * @return
//     */
//    @ApiOperation(value = "VForm 第一个接口： 登陆接口", notes = "VForm 第一个接口： 登陆接口", httpMethod = "GET")
//    @GetMapping(value = "/login")
//    public Result login(@RequestParam Map<String, String> params) {
//        Result result = new Result();
//        String token = tokenService.login(params.get("username"));
//
//        String data = httpClient.post(Url.LOGIN_TEST, params, HttpMethod.GET);
//
//        if (StringUtil.isNullOrEmpty(data)) {
//
//            result.setSuccess(false);
//            result.setMsg(ExceptionExplain.EMPTY_BY_DATA.toString());
//            return result;
//        }
//        Object parseObject = null;
//        try {
//            parseObject = JSON.parseObject(data, Object.class);
//        } catch (Exception e) {
//            throw new QueryException(ExceptionExplain.ERROR_BY_PARSING.toString());
//        }
//        result.setData(parseObject);
//        result.setToken(token);
//        return result;
//    }
//
//    /**
//     * 2. VForm 第二个接口： 数据插入操作
//     *
//     * @param params
//     * @return
//     */
//    @ApiOperation(value = "VForm 第二个接口： 数据插入操作", notes = "VForm 第二个接口： 数据插入操作", httpMethod = "POST")
//    @PostMapping(value = "/insert")
//    public Result insert(@RequestParam Map<String, String> params) {
//        CommonRequestDispose dispose = new CommonRequestDispose();
//        String data = new HttpClient().post(Url.INSERT_TEST, params, HttpMethod.POST);
//        return dispose.commonDispose(data);
//    }
//
//    /**
//     * 3. VForm 第三个接口： 数据批量插入操作
//     *
//     * @param params
//     * @return
//     */
//    @ApiOperation(value = "VForm 第三个接口： 数据批量插入操作", notes = "VForm 第三个接口： 数据批量插入操作", httpMethod = "POST")
//    @PostMapping(value = "/insertBatch")
//    public Result insertBatch(@RequestParam Map<String, String> params) {
//        CommonRequestDispose dispose = new CommonRequestDispose();
//        String data = new HttpClient().post(Url.INSERT_ALL_TEST, params, HttpMethod.POST);
//        return dispose.commonDispose(data);
//    }
//
//    /**
//     * 4. VForm 第四个接口： 数据修改操作
//     *
//     * @param params
//     * @return
//     */
//    @ApiOperation(value = "VForm 第三个接口： 数据批量插入操作", notes = "VForm 第三个接口： 数据批量插入操作", httpMethod = "PUT")
//    @PutMapping(value = "/update")
//    public Result update(@RequestParam Map<String, String> params) {
//        CommonRequestDispose dispose = new CommonRequestDispose();
//        String data = new HttpClient().post(Url.UPDATE_TEST, params, HttpMethod.POST);
//        return dispose.commonDispose(data);
//    }
//
//    /**
//     * 5. VForm 第五个接口： 数据批量修改操作
//     *
//     * @param params
//     * @return
//     */
//    @ApiOperation(value = "VForm 第五个接口： 数据批量修改操作", notes = "VForm 第五个接口： 数据批量修改操作", httpMethod = "PUT")
//    @PutMapping(value = "/updateBatch")
//    public Result updateBatch(@RequestParam Map<String, String> params) {
//        CommonRequestDispose dispose = new CommonRequestDispose();
//        String data = new HttpClient().post(Url.UPDATE_ALL_TEST, params, HttpMethod.POST);
//        return dispose.commonDispose(data);
//    }
//
//    /**
//     * 6. VForm 第六个接口： 数据删除操作
//     *
//     * @param params
//     * @return
//     */
//    @ApiOperation(value = "VForm 第六个接口： 数据删除操作", notes = "VForm 第六个接口： 数据删除操作", httpMethod = "DELETE")
//    @DeleteMapping(value = "/delete")
//    public Result delete(@RequestParam Map<String, String> params) {
//        CommonRequestDispose dispose = new CommonRequestDispose();
//        String data = new HttpClient().post(Url.DELETE_TEST, params, HttpMethod.POST);
//        return dispose.commonDispose(data);
//    }
//
//    /**
//     * 7. VForm 第七个接口： 数据批量删除操作
//     *
//     * @param params
//     * @return
//     */
//    @ApiOperation(value = "VForm 第七个接口： 数据批量删除操作", notes = "VForm 第七个接口： 数据批量删除操作", httpMethod = "DELETE")
//    @DeleteMapping(value = "/deleteBatch")
//    public Result deleteBatch(@RequestParam Map<String, String> params) {
//        CommonRequestDispose dispose = new CommonRequestDispose();
//        String data = new HttpClient().post(Url.DELETE_ALL_TEST, params, HttpMethod.POST);
//        return dispose.commonDispose(data);
//    }
//
//    /**
//     * 8. VForm 第八个接口： 数据查询操作
//     *
//     * @param params
//     * @return
//     */
//    @ApiOperation(value = "VForm 第八个接口： 数据查询操作", notes = "VForm 第八个接口： 数据查询操作", httpMethod = "POST")
//    @PostMapping(value = "/find")
//    public Result find(@RequestParam Map<String, String> params) {
//        CommonRequestDispose dispose = new CommonRequestDispose();
//        String data = new HttpClient().post(Url.QUERY_TEST, params, HttpMethod.POST);
//        return dispose.commonDispose(data);
//    }
//
//    /**
//     * 9. VForm 第九个接口： 范围查询操作
//     *
//     * @param params
//     * @return
//     */
//    @ApiOperation(value = "VForm 第九个接口： 范围查询操作", notes = "VForm 第九个接口： 范围查询操作", httpMethod = "POST")
//    @PostMapping(value = "/queryRange")
//    public Result queryRange(@RequestParam Map<String, String> params) {
//        CommonRequestDispose dispose = new CommonRequestDispose();
//        String data = new HttpClient().post(Url.QUERY_RANGE_TEST, params, HttpMethod.POST);
//        return dispose.commonDispose(data);
//    }
//
//    /**
//     * 10. VForm 第十个接口： 数据记录数查询操作
//     *
//     * @param params
//     * @return
//     */
//    @ApiOperation(value = "VForm 第十个接口： 数据记录数查询操作", notes = "VForm 第十个接口： 数据记录数查询操作", httpMethod = "POST")
//    @PostMapping(value = "/queryTotal")
//    public Result queryTotal(@RequestParam Map<String, String> params) {
//        CommonRequestDispose dispose = new CommonRequestDispose();
//        String data = new HttpClient().post(Url.QUERY_TOTAL_TEST, params, HttpMethod.POST);
//        return dispose.commonDispose(data);
//    }
//
//    /**
//     * 11. VForm 第十一个接口： 范围记录数查询操作
//     *
//     * @param params
//     * @return
//     */
//    @ApiOperation(value = "VForm 第十一个接口： 范围记录数查询操作", notes = "VForm 第十一个接口： 范围记录数查询操作", httpMethod = "POST")
//    @PostMapping(value = "/queryRangeTotal")
//    public Result queryRangeTotal(@RequestParam Map<String, String> params) {
//        CommonRequestDispose dispose = new CommonRequestDispose();
//        String data = new HttpClient().post(Url.QUERY_RANGETOTAL_TEST, params, HttpMethod.POST);
//        return dispose.commonDispose(data);
//    }
//
//    /**
//     * 12. VForm 第十二个接口： 特殊查询接口（固定多表联合查询） 操作
//     *
//     * @param params
//     * @return
//     */
//    @ApiOperation(value = "VForm 第十二个接口： 特殊查询接口（固定多表联合查询） 操作", notes = "VForm 第十二个接口： 特殊查询接口（固定多表联合查询） 操作", httpMethod = "POST")
//    @PostMapping(value = "/multiForMsQuery")
//    public Result multiForMsQuery(@RequestParam Map<String, String> params) {
//        CommonRequestDispose dispose = new CommonRequestDispose();
//        String data = new HttpClient().post(Url.MULTIFORMSQUERY_TEST, params, HttpMethod.POST);
//        return dispose.commonDispose(data);
//    }
//
//    /**
//     * 13. VForm 第十三个接口： 值列表分页查询接口 操作
//     *
//     * @param params
//     * @return
//     */
//    @ApiOperation(value = "VForm 第十三个接口： 值列表分页查询接口 操作", notes = "VForm 第十三个接口： 值列表分页查询接口 操作", httpMethod = "POST")
//    @PostMapping(value = "/getLovPage")
//    public Result getLovPage(@RequestParam Map<String, String> params) {
//        CommonRequestDispose dispose = new CommonRequestDispose();
//        String data = new HttpClient().post(Url.GETLOVPAGE_TEST, params, HttpMethod.POST);
//        return dispose.commonDispose(data);
//    }
//
//    /**
//     * 14. VForm 第十四个接口： 值列表查询接口 操作
//     *
//     * @param params
//     * @return
//     */
//    @ApiOperation(value = "VForm 第十四个接口： 值列表查询接口 操作", notes = "VForm 第十四个接口： 值列表查询接口 操作", httpMethod = "POST")
//    @PostMapping(value = "/getLov")
//    public Result getLov(@RequestParam Map<String, String> params) {
//        CommonRequestDispose dispose = new CommonRequestDispose();
//        String data = new HttpClient().post(Url.GETLOV_TEST, params, HttpMethod.POST);
//        return dispose.commonDispose(data);
//    }
//}
